import { IPSControl } from '../ipscontrol';
import { IPSLanguageRes } from '../../res/ipslanguage-res';
import { IPSSysImage } from '../../res/ipssys-image';

/**
 *
 * 子接口类型识别属性[]
 * 继承父接口类型值[CAPTIONBAR]
 * @export
 * @interface IPSCaptionBar
 */
export interface IPSCaptionBar extends IPSControl {
  /**
   * 标题语言资源
   *
   * @type {IPSLanguageRes}
   */
  getCapPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 标题语言资源
   *
   * @type {IPSLanguageRes}
   */
  get capPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 标题语言资源（必须存在）
   *
   * @type {IPSLanguageRes}
   */
  getCapPSLanguageResMust(): IPSLanguageRes;

  /**
   * 标题
   * @type {string}
   */
  caption: string;

  /**
   * 图标对象
   *
   * @type {IPSSysImage}
   */
  getPSSysImage(): IPSSysImage | null;

  /**
   * 图标对象
   *
   * @type {IPSSysImage}
   */
  get psSysImage(): IPSSysImage | null;

  /**
   * 图标对象（必须存在）
   *
   * @type {IPSSysImage}
   */
  getPSSysImageMust(): IPSSysImage;

  /**
   * 子标题语言资源
   *
   * @type {IPSLanguageRes}
   */
  getSubCapPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 子标题语言资源
   *
   * @type {IPSLanguageRes}
   */
  get subCapPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 子标题语言资源（必须存在）
   *
   * @type {IPSLanguageRes}
   */
  getSubCapPSLanguageResMust(): IPSLanguageRes;

  /**
   * 视图子标题
   * @type {string}
   */
  subCaption: string;
}
